# -*- coding: utf-8 -*-
'''
Created on 24.11.2009

@author: stud
'''
#A-26 a.)
#Berechnung einer Kreisflaeche mit dem Radius r mithilfe der lambda Fkt.
f = lambda r: (r**2) * 3.14

print 'Kreisfläche: '+str(f(5))

#A-26 b.)
# Schreiben Sie einen Einzeiler der eine Liste der Zahlen von 1-500 für die gilt x²mod13 == 3
#zurückgibt
g = filter(lambda x: (x**2) % 13 == 3, [i for i in range(1,500)] )
print 'Zahlen von 1-500 für die gilt x²mod13 == 3: ' +str(g)

#A-26 c.) i.
#Berechnung des Mittelwerts einer Liste aus float-Zahlen.
i =  [2.0, 6.9, 5.14, 4.88, 1, 3.49]
h = reduce(lambda x,y: x + y, i ) / len(i)

print 'Mittelwert: ' +str(h)

# ii.
#Berechnung einer Liste mit Funktionswerten x + 3xy + z³ , wobei die Zahlen
#x, y, z aus drei gleich langen Listen xList, yList, zList stammen sollen.
xList=[1,2,3,4,5,6]
yList=[-1,-6,-5,4,3,1]
zList=[2,6,8,7,1,-5]
polynomWerte = map(lambda x,y,z: x + 3*x*y + z**3,xList,yList,zList)
print 'Polynomwerte von x +3xy + z³: ' +str(polynomWerte)

# iii.
#Alle ohne Rest durch fuenf teilbaren Zahlen aus dem Ergebnis von Aufgabe
#A-26b.
mod5List = filter(lambda x: x % 5 == 0, g)
print 'Alle ohne Rest durch fuenf teilbaren Zahlen: ' +str(mod5List)




